package modelo.propiedad;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import modelo.poligonal.Poligonal;
import modelo.pozo.PozoProduccion;

@Entity
@Table(name="propiedad")
public class Propiedad {
	private int id;
	private String nombre;
	private List<RegistroPropietario> listaRegistro;
	private List<PozoProduccion> listaPozo;
	private List<Poligonal> listaPoligonal;
	@Id
	@GeneratedValue
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	@OneToMany(mappedBy = "propiedad")
	@Cascade({CascadeType.ALL})
	public List<RegistroPropietario> getListaRegistro() {
		return listaRegistro;
	}
	public void setListaRegistro(List<RegistroPropietario> listaRegistro) {
		this.listaRegistro = listaRegistro;
	}
	
	public void inicializarRegistroPropietario() {
		listaRegistro = new ArrayList<RegistroPropietario>();
	}
	public void agregarRegistroPropietario(RegistroPropietario registro){
		listaRegistro.add(registro);
	}
	@OneToMany(mappedBy = "propiedad")
	public List<Poligonal> getListaPoligonal() {
		return listaPoligonal;
	}
	public void setListaPoligonal(List<Poligonal> listaPoligonal) {
		this.listaPoligonal = listaPoligonal;
	}
	public void inicializarListaPoligonal(){
		listaPoligonal = new ArrayList<Poligonal>();
	}
	public void agregarPoligonal(Poligonal poligonal){
		listaPoligonal.add(poligonal);
	}
	
	@OneToMany(mappedBy = "ubicacion")
	@Cascade({CascadeType.ALL})
	public List<PozoProduccion> getListaPozo() {
		return listaPozo;
	}
	public void setListaPozo(List<PozoProduccion> listaPozo) {
		this.listaPozo = listaPozo;
	}
	
	public void inicializarListaPozos(){
		listaPozo = new ArrayList<PozoProduccion>();
	}
	
	public void agregarPozo(PozoProduccion pozo){
		listaPozo.add(pozo);
	}

	
	
	
}
